package com.doubao.device.service;

import com.doubao.common.result.Result;
import com.doubao.device.dto.VoiceConfigDTO;

import java.util.List;

/**
 * 智能体语音服务接口
 */
public interface DeviceVoiceService {

    /**
     * 获取智能体语音配置
     *
     * @param deviceId 智能体ID
     * @return 语音配置
     */
    Result<VoiceConfigDTO> getDeviceVoiceConfig(Long deviceId);

    /**
     * 更新智能体语音配置
     *
     * @param deviceId    智能体ID
     * @param voiceConfig 语音配置
     * @return 更新结果
     */
    Result<Void> updateDeviceVoiceConfig(Long deviceId, VoiceConfigDTO voiceConfig);

    /**
     * 获取可用语音类型列表
     *
     * @return 语音类型列表
     */
    Result<List<VoiceConfigDTO>> getAvailableVoiceTypes();

    /**
     * 获取指定类型的语音配置
     *
     * @param voiceType 语音类型
     * @return 语音配置
     */
    Result<VoiceConfigDTO> getVoiceConfigByType(String voiceType);

    /**
     * 获取默认语音配置
     *
     * @return 默认语音配置
     */
    VoiceConfigDTO getDefaultVoiceConfig();
}